package com.cupk.dtos;

import lombok.Data;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Size;
import java.time.LocalDate;

/**
 * 创建任务请求DTO
 */
@Data
public class CreateTaskRequest {
    
    @NotBlank(message = "任务标题不能为空")
    @Size(max = 200, message = "任务标题不能超过200个字符")
    private String title;
    
    @Size(max = 1000, message = "任务描述不能超过1000个字符")
    private String description;
    
    @NotNull(message = "项目ID不能为空")
    private Long projectId;
    
    @NotBlank(message = "优先级不能为空")
    private String priority; // HIGH, MEDIUM, LOW, URGENT
    
    @NotBlank(message = "任务状态不能为空")
    private String status; // TODO, IN_PROGRESS, COMPLETED, CANCELLED
    
    @NotNull(message = "负责人ID不能为空")
    private Long assigneeId;
    
    @NotNull(message = "截止日期不能为空")
    private LocalDate dueDate;
}
